//
//  HMHttpTool.h
//  麦买购
//
//  Created by 孙鹏飞 on 2017/3/8.
//  Copyright © 2017年 homai. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "AFNetworking.h"

@class HMUploadParam;

@interface HMHttpTool : NSObject

/**
 * 不需要返回值：
 * 1.用不着返回值（我们只需要网络数据）
 * 2.网络数据会有延时，并不会马上返回
 * 3. 要使用block，不会马上调用，只有在用到的时候才会调用，也就是在请求成功的时候才调用block（回调）
 */

/**检测网路状态**/
+ (void)startMonitoring;


/**
 * get请求
 * 不需要返回值：
 *  @param URLString  请求的基本的url
 *  @param parameters 请求的参数字典
 *  @param success    请求成功的回调
 *  @param failure    请求失败的回调
 */
+ (void)GET:(NSString *)URLString
 parameters:(id)parameters
    success:(void (^)(id responseObject))success
    failure:(void (^)(NSError *error))failure;


/**
 * Post请求
 * 不需要返回值：
 *  @param URLString  请求的基本的url
 *  @param parameters 请求的参数字典
 *  @param success    请求成功的回调
 *  @param failure    请求失败的回调
 */
+ (void)POST:(NSString *)URLString
  parameters:(id)parameters
     success:(void (^)(id responseObject))success
     failure:(void (^)(NSError *error))failure;


/**
 *  上传请求
 *  不需要返回值：
 *  @param URLString  请求的基本的url
 *  @param parameters 请求的参数字典
 *  @param uploadParam 请求的参数图片
 *  @param success    请求成功的回调
 *  @param failure    请求失败的回调
 */
+ (void)Upload:(NSString *)URLString
    parameters:(id)parameters
   uploadParam:(HMUploadParam *)uploadParam
       success:(void (^)(id responseObject))success
       failure:(void (^)(NSError *error))failure;

@end
